Coin Selection - Part 1

Coin Selection - Part 1 Bank vs Cash Transactions? One of the significant differences among the different blockchains is how they model the exchange of coins among users. From a design perspective, Ethereum uses an account-based model in which the transfer of coins in a transaction is similar to a bank account transaction. When a user wants to transfer some Ether to another user’s wallet, he enters the exact transaction amount that is to be deducted from his wallet....

July 23, 2023

Native Tokens in Cardano

Currently workling on a proejct that involves minting NFTs and I thought it would be a good idea to revisit the topic of tokens in Cardano. Unlike most other blockchains, Cardano has native support for tokens. So what does mean and how useful is it exactly? To answer that, we first need to establish what a token is and then get to the differences on how tokens are created in different blockchains and then compare that to Cardano....

June 27, 2023

Transaction Seriliasation and CBOR Encoding

In blockchain data storage and transmission are vital aspects whose design determines how efficient and cost-effective the blockchain is. Transactions form a critical feature of any blockchain and how the blockchain designs and implements transactions determine how efficient and cost-effective the blockchain is in transferring value. In Cardano, the ledger implements a transaction consisting of: A transaction body that contains: inputs, outputs fees, certificates, metadata hashes (optional) A triple set of: A map of payment verification keys to signatures A map of scripts values with hashes as their indexes Optional metadata....

April 7, 2023

Cardano Address Derivation

One of the essential components of blockchains is the use of addresses. With addresses, we are able to transfer value from one party to another. This value could be in many forms including cryptocurrency, NFTs, or any specific metadata. This is a brief guide on how addresses are generally created on the Cardano blockchain but it’s worth noting that the process of address creation is largely similar across all blockchains....

February 12, 2023

Setting Up for Plutus Development from Scratch

Introduction Smart contracts for the Cardano blockchain are created using the Plutus which is a platform that provides a programming language based on Haskell (Plutus) and an SDK that contains all the necessary tools to make smart contract development possible. At the moment, there are new ways of writting Cardano smart contracts without haaving to learn Haskell. Projects such as Aiken, Helios, and make it possible to delevelop smart contracts without using Plutus and therefore you do not need to learn Haskell....

February 3, 2023

The Plutus Platform

Program-ability in blockchain When it comes to how widely blockchain technology can be applied to a range of use-cases, it somehow depends on the model a blockchain uses for defining how transactions are settled. Bitcoin uses a UTXO model on its ledger. This means that transactions are represented as a series of inputs and outputs that live on the blockchain. The inputs are locked to a pubkey and only the owner of the pubkey can sign the transaction with a corresponding private key in order to unlock those outputs (spending)....

March 19, 2022

Types and TypeClasses in Haskell

Types Haskell uses a static type system and this means every expression’s type is known at compile time. Any incompatibility with types in evaluating expressions leads to compile time errors. Haskell also has type inference so we do not need to to explicitly write the type. It can infer this from the expression. Common types are Int: Used for whole numbers and is bounded to a min and max value. On 32-bit machines, this bound is -2147483647 and 2147483647....

February 12, 2022

Smart Contracts and Plutus

Smart Contracts The term smart contract was first theorised in the late 1990’s by a crytography researcher named Nick Szabo. In an article, he describe smart contracts as an electronic transaction protocol that can execute the terms of a contract with the goal of satisfying common contractual conditions, minimizing malicious or accidental exceptions and the need for trusted third parties and fulfil the economic goals of lowering fraud loss, arbitrations and enforcement costs and other transaction cots....

January 30, 2022

Scalability In Cardano

Scalability from the onset In all blockchain systems, scalability is a core design issue that is aimed at addressing the problem of how a blockchain can be able to process more transactions even as the network grows. The common description of scalability in a blockchain is usually the mention of transactions per secondi or transaction throughput. The ability of a blockchain to scale it transaction throughput with increased use cases from adoption is what would define it as a scalable blockchain....

January 22, 2022

eUTXO in Cardano

Value Transfer The fundamental function in a blockchain network is to transfer value between parties through transactions. Transactions are propagated through the network, validated and added to the blockchain. Every transaction on the blockchain is open to the network and can be used as proof of value transfer having taken place. UTXO and Account Balance Blockchains At present, there are two main accounting models of how transactions take place in blockchains....

January 15, 2022